<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>trmix</title>
    <link rel="stylesheet" type="text/css" href="csound.css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.78.1" />
    <link rel="home" href="index.html" title="The Canonical Csound Reference Manual" />
    <link rel="up" href="OpcodesTop.html" title="Orchestra Opcodes and Operators" />
    <link rel="prev" href="trlowest.html" title="trlowest" />
    <link rel="next" href="trscale.html" title="trscale" />
  </head>
  <body>
    <div class="navheader">
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center">trmix</th>
        </tr>
        <tr>
          <td width="20%" align="left"><a accesskey="p" href="trlowest.html">Prev</a> </td>
          <th width="60%" align="center">Orchestra Opcodes and Operators</th>
          <td width="20%" align="right"> <a accesskey="n" href="trscale.html">Next</a></td>
        </tr>
      </table>
      <hr />
    </div>
    <div class="refentry">
      <a id="trmix"></a>
      <div class="titlepage"></div>
      <a id="Indextrmix" class="indexterm"></a>
      <div class="refnamediv">
        <h2>
          <span class="refentrytitle">trmix</span>
        </h2>
        <p>trmix — 
      Streaming partial track mixing.
    </p>
      </div>
      <div class="refsect1">
        <a id="idp159693152"></a>
        <h2>Description</h2>
        <p>
      The <span class="emphasis"><em>trmix</em></span> opcode takes two inputs containg TRACKS pv streaming signals (as generated,
      for instance by <span class="emphasis"><em>partials</em></span>) and mixes them into a single TRACKS stream. Tracks will be
      mixed up to the available space (defined by the original number of FFT bins in 
      the analysed signals). If the sum of the input tracks exceeds this space, the higher-ordered
      tracks in the second input will be pruned. 
    </p>
      </div>
      <div class="refsect1">
        <a id="idp159759472"></a>
        <h2>Syntax</h2>
        <pre class="synopsis">fsig <span class="command"><strong>trmix</strong></span> fin1, fin2 </pre>
      </div>
      <div class="refsect1">
        <a id="idp159761648"></a>
        <h2>Performance</h2>
        <p>
      <span class="emphasis"><em>fsig</em></span> -- output pv stream in TRACKS format 
    </p>
        <p>
      <span class="emphasis"><em>fin1</em></span> -- first input pv stream in TRACKS format.
    </p>
        <p>
      <span class="emphasis"><em>fin2</em></span> -- second input pv stream in TRACKS format
    </p>
      </div>
      <div class="refsect1">
        <a id="idp159765040"></a>
        <h2>Examples</h2>
        <p>
      Here is an example of the trmix opcode. It uses the file <a class="ulink" href="examples/trmix.csd" target="_top"><em class="citetitle">trmix.csd</em></a>.
      </p>
        <div class="example">
          <a id="idp159766816"></a>
          <p class="title">
            <strong>Example 949. Example of the trmix opcode.</strong>
          </p>
          <div class="example-contents">
            <p>See the sections <a class="link" href="UsingRealTime.html" title="Real-Time Audio"><em class="citetitle">Real-time Audio</em></a> and <a class="link" href="CommandFlags.html" title="Csound command line"><em class="citetitle">Command Line Flags</em></a> for more information on using command line flags.</p>
            <pre class="programlisting">
<span class="csdtag">&lt;CsoundSynthesizer&gt;</span>
<span class="csdtag">&lt;CsOptions&gt;</span>
<span class="comment">; Select audio/midi flags here according to platform</span>
-odac     <span class="comment">;;;realtime audio out</span>
<span class="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</span>
<span class="comment">; For Non-realtime ouput leave only the line below:</span>
<span class="comment">; -o trmix.wav -W ;;; for file output any platform</span>
<span class="csdtag">&lt;/CsOptions&gt;</span>
<span class="csdtag">&lt;CsInstruments&gt;</span>

<span class="ohdr">sr</span> <span class="op">=</span> 44100
<span class="ohdr">ksmps</span> <span class="op">=</span> 32
<span class="ohdr">nchnls</span> <span class="op">=</span> 2
<span class="ohdr">0dbfs</span>  <span class="op">=</span> 1

<span class="oblock">instr</span> 1

ain	<span class="opc">diskin2</span>	"fox.wav", 1
fs1,fsi2 <span class="opc">pvsifd</span> ain, 2048, 512, 1		<span class="comment">; ifd analysis</span>
fst	<span class="opc">partials</span> fs1, fsi2, .003, 1, 3, 500	<span class="comment">; partial tracking</span>
fslo,fshi <span class="opc">trsplit</span> fst, 1000			<span class="comment">; split partial tracks at 1000 Hz</span>
fscl	<span class="opc">trscale</span>	fshi, 1.3			<span class="comment">; shift the upper tracks</span>
fmix	<span class="opc">trmix</span>	fslo,fscl			<span class="comment">; mix the shifted and unshifted tracks</span>
aout	<span class="opc">tradsyn</span>	fmix, 1, 1, 500, 1		<span class="comment">; resynthesis of tracks</span>
	<span class="opc">outs</span>    aout, aout

<span class="oblock">endin</span>
<span class="csdtag">&lt;/CsInstruments&gt;</span>
<span class="csdtag">&lt;CsScore&gt;</span>
<span class="stamnt">f</span>1 0 8192 10 1	<span class="comment">;sine wave</span>

<span class="stamnt">i</span> 1 0 3
<span class="stamnt">e</span>
<span class="csdtag">&lt;/CsScore&gt;</span>
<span class="csdtag">&lt;/CsoundSynthesizer&gt;</span>
</pre>
          </div>
        </div>
        <p><br class="example-break" />
    </p>
        <p>
      The example above shows partial tracking of an ifd-analysis signal, frequency
      splitting and pitch shifting of the upper part of the spectrum, followed by
      the remix of the two parts of the spectrum and resynthesis. 
    </p>
      </div>
      <div class="refsect1">
        <a id="idp159771744"></a>
        <h2>Credits</h2>
        <p>
      </p>
        <table border="0" summary="Simple list" class="simplelist">
          <tr>
            <td>Author: Victor Lazzarini</td>
          </tr>
          <tr>
            <td>February 2006 </td>
          </tr>
        </table>
        <p>
    </p>
        <p>New in Csound 5.01</p>
      </div>
    </div>
    <div class="navfooter">
      <hr />
      <table width="100%" summary="Navigation footer">
        <tr>
          <td width="40%" align="left"><a accesskey="p" href="trlowest.html">Prev</a> </td>
          <td width="20%" align="center">
            <a accesskey="u" href="OpcodesTop.html">Up</a>
          </td>
          <td width="40%" align="right"> <a accesskey="n" href="trscale.html">Next</a></td>
        </tr>
        <tr>
          <td width="40%" align="left" valign="top">trlowest </td>
          <td width="20%" align="center">
            <a accesskey="h" href="index.html">Home</a>
          </td>
          <td width="40%" align="right" valign="top"> trscale</td>
        </tr>
      </table>
    </div>
  </body>
</html>
